home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 1997 May & June
/
Amiga-CD 1997 #5-6.iso
/
pd-disketten
/
dms-gepackt
/
11_95
/
apd-11-95-2.dms
/
apd-11-95-2.adf
/
Tips&Tricks
/
Kodierung.s
next >
Wrap
Text File
|
1995-10-09
|
1KB
|
40 lines
*****************************************************
* $VER: RandomEncoding V1.0, von Ivan J. Eis © 1995 *
*****************************************************
* Parameter: A0=Textzeiger (APTR) *
* D0=[Textlänge]-1 (UWORD) *
* D1=Zufallswert (UBYTE) Ungleich 0 *
*****************************************************
lea Text(pc),a0 * Adresse nach A0
moveq #[Ende-Text]-1,d0 * Textlänge in d0
moveq #7,d1 * Zufallswert > d1
* muss ungleich 0 sein.
Loop move.b d1,d2 * Zufallswert in d2
move.b d1,d3 * Zufallswert in d3
and.b #1,d2 * Bit 0 raussuchen
and.b #2,d3 * Bit 1 raussuchen
lsr.b #1,d3 * Auf gleiche Höhe brin.
eor.b d3,d2 * unterschiedlich?
beq SetNoBit * Nein, dann nicht setzen
or.b #$80,d1 * Ja, Bit 7 setzen
add.b d1,(a0)+ * sub.b für Decoder
lsr.b #1,d1 * Zufallswert neu
* berechnen
bra.b NextChar
SetNoBit add.b d1,(a0)+ * sub.b für Decoder
lsr.b #1,d1 * Zufallswert neu ber.
NextChar dbf d0,Loop * Länge Zähler
rts * Programende
Text dc.b "Bitte decodiere diesen Text"
Ende